1. Field of the Invention
The present invention relates to data processing, and, in particular, to drivers, computer-implemented processes, and computer systems for processing data using a programmable processor.
2. Description of the Related Art
Personal computer (PC) systems for capturing and compressing video signals and for decompressing and displaying compressed video signals on a computer monitor are known. Some such PC systems have a general-purpose host processor and a special-purpose video hardware subsystem. These PC systems may also have an application program, a general-purpose video software program, and a special-purpose video driver running on the host processor, and special-purpose video-processing microcode running on the special-purpose video hardware subsystem.
To process video data, the application program interfaces with the general-purpose video software program. The video software program in turn interfaces with the special-purpose video driver. The video driver also interfaces with the special-purpose video-processing microcode which runs on the video hardware subsystem.
For example, the host processor may be an Intel.RTM. 486 microprocessor, the video hardware subsystem may be an Intel.RTM. Smart Video Recorder card or other hardware based on an Intel.RTM. i750.RTM. Pixel Processor, and the video software program may be a version of Microsoft.RTM. Video for Windows. The video driver and the video-processing microcode may be delivered with the video hardware subsystem. The video-processing microcode that is provided with the video hardware subsystem performs compression and decompression of video data using specific video algorithms.
It is desirable for users of video hardware subsystems to be able to run microcode on those subsystems other than the video-processing microcode provided with the subsystems. For example, a user may wish to implement video compression and/or decompression algorithms different from those supported by the provided video-processing microcode. In addition or alternatively, a user may wish to perform data processing other than that supported by the provided video-processing microcode. This data processing need not even be related to the processing of video data.
Under the known PC systems described above, it is difficult for a user to process data on a video hardware subsystem other than by the algorithms supported by the video-processing microcode provided with the subsystem. For example, it currently is difficult for a user to program a pixel processor such as an Intel.RTM. i750.RTM. Pixel Processor to implement algorithms other than those supported by the video-processing algorithms provided with the pixel processor.
Furthermore, the special-purpose video hardware subsystems and special-purpose video drivers of the known PC systems constitute closed architectures. That is, the video driver is designed specifically for the particular video hardware subsystem and is not easily modified to support alternative hardware configurations. As a result, each generation of improved and upgraded hardware subsystem requires extensive modification to the video driver.
It is accordingly an object of this invention to overcome the disadvantages and drawbacks of the known art and to provide a video driver that permits a user to program easily a video hardware subsystem of a PC system.
It is a particular object of the present invention to provide a video driver that permits a user to program easily a pixel processor such as a version of the Intel.RTM. i750.RTM. Pixel Processor.
It is a further object of the present invention to provide a video driver that provides an interface between the video hardware subsystem of a PC system and a video software program running on a host processor, where the video driver permits a user to implement compression and/or decompression algorithms different from those already supported by the video driver and video-processing microcode that are provided with the video hardware subsystem.
It is a particular object of the present invention to provide a video driver that provides an interface between a pixel processor such as a version of the Intel.RTM. i750.RTM. Pixel Processor and a version of Microsoft.RTM. Video for Windows running on a host processor such as an Intel.RTM. 486 processor, where the video driver permits a user to implement compression and/or decompression algorithms different from those already supported by the video-processing microcode that is provided with the pixel processor.
It is a further object of the present invention to provide a video driver that may be easily modified to support alternative video hardware subsystem configurations.
It is a particular object of the present invention to provide a video driver that is easily modified to support improved and upgraded versions of pixel processors.
It is a further object of the present invention to provide computer-implemented processes and computer systems based on the video drivers described above.
It is a further object of the present invention to provide computer-implemented processes, video hardware subsystems, and computer systems for displaying full-screen video images on computer monitors without having to create scaled bitmaps.
It is a further object of the present invention to provide computer-implemented processes and computer systems for processing video data for display on raster-based monitors.
Further objects and advantages of this invention will become apparent from the detailed description of a preferred embodiment which follows.